package com.example.captcha;

import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.CircleCaptcha;
import cn.hutool.captcha.LineCaptcha;
import cn.hutool.captcha.ShearCaptcha;
import cn.hutool.captcha.generator.RandomGenerator;
import cn.hutool.core.lang.Console;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Hua YY
 * Date: 2024-11-26
 * Time: 16:59
 */
public class CaptchaTest {

    public static void main(String[] args) {


        //定义图形验证码的长和宽
        LineCaptcha lineCaptcha4 = CaptchaUtil.createLineCaptcha(200, 100);

//图形验证码写出，可以写出到文件，也可以写出到流
        lineCaptcha4.write("d:/line.png");
//输出code
        Console.log(lineCaptcha4.getCode());
//验证图形验证码的有效性，返回boolean值
        System.out.println(lineCaptcha4.verify("1234"));



        System.out.println("====================================================");

        //定义图形验证码的长、宽、验证码字符数、干扰元素个数
        CircleCaptcha captcha2 = CaptchaUtil.createCircleCaptcha(200, 100, 4, 200);
//CircleCaptcha captcha = new CircleCaptcha(200, 100, 4, 20);
//图形验证码写出，可以写出到文件，也可以写出到流
        captcha2.write("d:/circle.png");
//验证图形验证码的有效性，返回boolean值
        captcha2.verify("1234");





        System.out.println("====================================================");
        //定义图形验证码的长、宽、验证码字符数、干扰线宽度
        ShearCaptcha captcha3 = CaptchaUtil.createShearCaptcha(200, 100, 4, 4);
//ShearCaptcha captcha = new ShearCaptcha(200, 100, 4, 4);
//图形验证码写出，可以写出到文件，也可以写出到流
        captcha3.write("d:/shear.png");
//验证图形验证码的有效性，返回boolean值
        captcha3.verify("1234");


        System.out.println("====================================================");

        // 自定义纯数字的验证码（随机4位数字，可重复）
        RandomGenerator randomGenerator = new RandomGenerator("0123456789", 4);
        LineCaptcha lineCaptcha5 = CaptchaUtil.createLineCaptcha(200, 100);
        lineCaptcha5.setGenerator(randomGenerator);
        lineCaptcha5.write("d:/line2.png");



    }

}
